from flask import Flask, request, render_template, url_for

app = Flask(__name__)


# Flask route() 装饰器用于将URL绑定到函数
@app.route('/')
def hello_world():
    return 'Hello, World!'


# 动态URL变量规则
@app.route('/hello/<name>')
def hello(name):
    return f'Hello, {name}!'


# 使用 url_for() 函数构建URL
@app.route('/go_to_hello')
def go_to_hello():
    # 假设我们有一个hello.html模板，用于显示链接  
    # 使用 url_for() 构建链接到 hello() 函数的URL  
    url = url_for('hello', name='Flask')
    return render_template('hello.html', url=url)


# Flask HTTP方法示例: POST 方法
@app.route('/login', methods=['POST'])
def login():
    name = request.form['name']  # 假设HTML表单中有一个名为name的字段  
    return f'Logged in as {name}'


# Flask HTTP方法示例: GET 方法 (但通常不用于登录，此处仅为演示)
@app.route('/login_get', methods=['GET'])
def login_get():
    name = request.args.get('name')  # 从URL参数中获取name  
    return f'Logged in as {name} via GET'

if __name__ == '__main__':
    # 启用调试模式  
    app.debug = True
    # 在本地开发服务器上运行应用程序  
    app.run(host='0.0.0.0', port=6008)